﻿/**
* ...
* @author Default
* @version 0.1
*/

package  
{
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.events.KeyboardEvent;
	import flash.ui.Keyboard;
	
	public class Jogador extends MovieClip
	{
		var isRight:Boolean;
		var isLeft:Boolean;
		var isUp:Boolean;
		var isDown:Boolean;
		var velocidadejogador: int = 5;
		var onibus: Onibus;
		
		public function Jogador() 
		{
			addEventListener(Event.ADDED_TO_STAGE, init);
		}
		
		public function init(Evento: Event):void
		{
			stage.addEventListener(KeyboardEvent.KEY_DOWN, pressButtom);
			stage.addEventListener(KeyboardEvent.KEY_UP, releaseButtom);
		}
		
		public function pressButtom(Evento: KeyboardEvent):void
		{
	
			switch(Evento.keyCode)
			{
				case Keyboard.RIGHT: 
					isRight = true;
					break;
					
				case Keyboard.LEFT: 
					isLeft = true; 
					break;
					
				case Keyboard.UP:
					isUp = true;
					break;
					
				case Keyboard.DOWN: 
					isDown = true; 
					break;
					
				case Keyboard.W:
					isUp = true;
					break;
				
				case Keyboard.A:
					isLeft = true;
					break;
				
				case Keyboard.S:
					isDown = true;
					break;
				
				case Keyboard.D:
					isRight = true;
					break;
				
			}	
		}
		
		public function releaseButtom(Evento: KeyboardEvent):void
		{

			switch(Evento.keyCode)
			{
				case Keyboard.RIGHT: 
					isRight = false;
					break;
					
				case Keyboard.LEFT: 
					isLeft = false; 
					break;
					
				case Keyboard.UP:
					isUp = false;
					break;
					
				case Keyboard.DOWN: 
					isDown = false; 
					break;
					
				case Keyboard.D: 
					isRight = false;
					break;
					
				case Keyboard.A: 
					isLeft = false; 
					break;
					
				case Keyboard.W:
					isUp = false;
					break;
					
				case Keyboard.S: 
					isDown = false; 
					break;			
			}	
			
		}
		
		public function update():void
		{
				validarMovimento();
				validarcolisao();
		}
		
		public function validarMovimento():void
		{				
			if (isRight)
				{
					this.x += velocidadejogador;
				}
			if (isLeft)
				{
					this.x -= velocidadejogador;
				}
			if (isDown)
				{
					this.y += velocidadejogador;
				}
			if (isUp)
				{
					this.y -= velocidadejogador;
				}
		}
		
		public function validarcolisao():void
		{
			if (this.hitTestObject(onibus))
				{
					mudardefase();
				}
		}
		
		public function mudardefase():void
				{
						//if para o tempo respeitado ou não
						// caso respeitado, mudar de fase
						// caso não aparecer o botão reiniciar a fase
				}
	}
		
}
	

